package main

func main() {

	//var name string = "姚留洋" //定义变量姓名
	//name = "改变后的姓名" + ",测试中文连接"
	//var age int = 27 //定义变量年龄
	//fmt.Println(name, age)

	//------------------------分割---------------------------------------

	/*
	  定义多个变量测试
	  var 定义变量,如果没有赋值,变量就默认是这个类型的默认值
	*/
	//var (
	//	name     string = "定义变量赋值" // string:默认值 空
	//	age      int               // int 默认值:0
	//	add      string
	//	bool_var bool //boolean类型默认是false
	//)
	//
	//// 变量赋值-外部赋值
	//age = 27
	//
	//fmt.Println(name, age, add, bool_var)

	//------------------------分割---------------------------------------

	// := 自动推导类型 定义变量
	//name := "姚留洋"
	//age := 27
	//
	//println(name, age)
	//fmt.Printf(name, age) //打印变量类型

	//------------------------分割---------------------------------------

	//打印内存地址
	//var num int = 8
	//
	//fmt.Printf("num:%d,内存地址:%p", num, &num) //取地址符 &变量名
	//println()                               //跳转行
	//num = 200
	//fmt.Printf("num:%d,内存地址:%p", num, &num) //取地址符 &变量名  发现与上面的变量相比只是改变了内存地址的值,内存地址还是那个地址

	//------------------------分割---------------------------------------

	// 变量交换

	/**
	  传统做法:定义一个临时变量作为变量交换
	  a=100
	  b=200
	  temp =0
	  1. temp=a  把变量a赋值给临时变量
	  2. a=b     把b赋值给变量a
	  3. b=temp  最后把temp复制给b即完成交换
	*/

	//var a int = 100
	//var b int = 200
	//b, a = a, b
	//println(a, b) //打印结果  200 100

	//------------------------分割---------------------------------------

}
